
// // import io from "socket.io-client/dist/socket.io.js";

// class Request {
//     private isLogin:boolean = false

//     private config = {
//         UrlHead: "https",              //协议选择: http/https
//         webserver: {
//             "url": "index.gamegold.xin",//远程主机地址
//             "host": "122.9.94.67",      //远程主机地址
//             "port": 9901                //远程主机端口
//         },
//         logicserver: { host: '', port: '' },
//         oemInfo: {                    //模拟用户信息
//             domain: 'CoreOfKow',        //指定访问的逻辑服务器类型
//             openid: ``,  //用户标识
//             token: '',                  //用户令牌，由920客户端向920服务端索取并填充于此
//         },
//     }

//     /**
//    * 向负载均衡服务器节点申请分配业务节点地址
//    * @param {*} oemInfo   登录用户信息
//    * @returns 返回用过户
//    */
//     public async getServerInfo(oemInfo) {
//         try {
//             let url = this.config.webserver.url ? `${this.config.UrlHead}://${this.config.webserver.url}/index.html` : `${this.config.UrlHead}://${this.config.webserver.host}:${this.config.webserver.port}/index.html`;
//             const result = await fetch(url, {
//                 method: 'POST',
//                 headers: {
//                     'Content-Type': 'application/json',
//                 },
//                 body: JSON.stringify({
//                     control: 'lb',
//                     func: 'getServerInfo',
//                     oemInfo,
//                 }),
//             });

//             if (result.status === 200) {
//                 const json = await result.json();

//                 if (json.code != 0) {
//                     return null;
//                 } else {
//                     return json.data;
//                 }
//             } else {
//                 return null;
//             }
//         } catch (e) {
//             console.log(e.message);
//         }
//     }



//     /**
//      * 确认业务节点通讯地址后，向业务节点发起请求
//      * @param {*} params    指令信息
//      * @param {*} oemInfo   登录用户信息
//      * @returns {object{ newbie, url, ip, port }} 返回新手标志、业务节点地址
//      */
//     public async postToNode(params) {
//         try {
//             params.oemInfo = this.config.oemInfo

//             const result = await fetch(`${this.config.UrlHead}://${this.config.logicserver.host}:${this.config.logicserver.port}/index.html`, {
//                 method: 'POST',
//                 headers: {
//                     'Content-Type': 'application/json',
//                 },
//                 body: JSON.stringify(params),
//             });

//             if (result.status === 200) {
//                 const json = await result.json();
//                 if (typeof json.code == 'undefined') {
//                     return { code: 0, data: json };
//                 } else {
//                     return json;
//                 }
//             } else {
//                 let errorData = await result.text();
//                 return { code: 1, err: errorData };
//             }
//         } catch (e) {
//             console.log(e.message);
//         }
//     }

//     getQuery() {
//         let list = location.search.substring(1).split('&')
//         let obj = { openid: '' }
//         for (let item of list) {
//             let arr = item.split('=')
//             obj[arr[0]] = arr[1]
//         }
//         return obj
//     }

//     public async login() {
//         if(this.isLogin){
//             return
//         }

//         let openid = this.getQuery().openid
//         if(!/^bxs/.test(openid)){
//             openid = 'bxs.' + openid
//         }
//         //获取业务节点地址
//         let ret = await this.getServerInfo({
//             domain: this.config.oemInfo.domain,
//             openid: openid,
//         });

//         console.log('getServerInfo')
//         console.log(ret)
//         this.config.logicserver.host = ret.ip;
//         this.config.logicserver.port = ret.port;
//         this.config.oemInfo.openid = openid

//         //发起模拟登录
//         ret = await this.postToNode({ control: 'index', func: 'login' } );
//         console.log(ret)

//         this.isLogin = true

     

//         // let socket = io(`http://122.9.94.67:9901`, {'force new connection': true});

//         // socket.emit('req', {a:1}, msg => {
//         //     console.log('io=========')
//         //      console.log(msg)
//         //     });
//     }

//     public async fetching(params){
//         await this.login()
//         return await this.postToNode(params);
//     }


// }

// export default new Request()

